1. Field of the Invention
The present invention is directed toward the field of data transfer, and more particularly toward compressing transform data for efficient distribution across a network.
2. Art Background
It has become more common for images to be stored, distributed, and viewed in digital form using computer technology. In the medical field Picture Archival and Communication Systems or PACS have been in widespread use. In a typical PACS application, image data obtained by imaging equipment, such as CT scanners or MRI scanners, is stored in the form of computer data files. The size of a data file for an image varies depending on the size and resolution of the image. For example, a typical image file for a diagnostic-quality chest X-ray is on the order of 10 megabytes (MB). The image data files are usually formatted in a xe2x80x9cstandardxe2x80x9d or widely accepted format. In the medical field, one widely used image format is known as DICOM. The DICOM image data files are distributed over computer networks to specialized viewing stations capable of converting the image data to high-resolution images on a CRT display.
In imaging applications, it is important to display images at a high resolution. For example, in the medical imaging application, images require display at high resolution so that image details having potential diagnostic significance are visible. Also, in the medical imaging application, concurrent viewing of multiple images, captured over time, is desirable in order to enable the detection of changes that occur over a time period. The need for high resolution and multiple views translates into a need for high network bandwidth, large storage capacity, and significant processing power at the viewing stations. The traditional digitally encoded medical images, used in medical applications, usually require powerful and expensive computer systems to archive, distribute, manipulate, and display the medical images. Consequently, many current imaging systems, such as PACS, are very expensive. Because of this, a medical center having a PACS may have only a few image viewing stations, used primarily by specialists, such as radiologists.
A technique for distributing large images over a network, such as medical images, has been developed by Dr. Paul Chang, M.D., and Carlos Bentancourt at the University of Pittsburgh. This technique, referred to as dynamic transfer syntax, operates in a client-server environment to deliver, from the server to the client, image data as the image data is needed at the client (i.e., a just in time data delivery mechanism). To implement this xe2x80x9cjust in timexe2x80x9d data delivery mechanism, the dynamic transfer syntax generates a flexible hierarchical representation of an image for storage at the server. The hierarchical representation consists of coefficients produced by a wavelet transform. To view portions of the image at the client, the client issues requests for data that include coefficient coordinates to identify coefficients in the hierarchical representation. The client then reconstructs the portion of the image, at the client, from the transform data requested. A complete description of the dynamic transfer syntax is contained in U.S. Provisional Patent Application, entitled xe2x80x9cFlexible Representation and Interactive Image Data Delivery Protocolxe2x80x9d, Ser. No.: 60/091,697, inventors Paul Joseph Chang and Carlos Bentancourt, filed Jul. 3, 1998, and U.S. patent application, entitled xe2x80x9cMethods and Apparatus for Dynamic Transfer of Image Dataxe2x80x9d, Ser. No.: 09/339,077, inventors Paul Joseph Chang and Carlos Bentancourt, filed Jun. 23, 1999, both of which are expressly incorporated herein by reference.
Although the dynamic transfer syntax substantially increases the ability to distribute large data files over a network, in some circumstances additional performance is required. For example, additional performance may be required to transfer large data files over networks with limited bandwidth. In one medical application, a physician, working away from the hospital, may have limited network bandwidth resources to connect to the hospital""s enterprise network (e.g., the physician may communicate with the hospital""s enterprise network via a 56K modem connection). For this example, the physician may desire to download, over the limited bandwidth connection, medical images that consist of large data files. To accommodate these low bandwidth applications, it is desirable to develop techniques to increase the transfer rates for distribution of large data files.
A compression technique, for use in a network environment, compresses transform data to improve transmission rates in low bandwidth applications. In one embodiment, the source data comprises source images, such as medical images. The source data is decomposed into transform data that consists of spatially related coefficients such that a block of coefficients permit reconstruction of identifiable portions of the source data. In a client-server embodiment, a client issues to a server a request for at least a portion of the source data. The request defines a block of the coefficients and at least one quantization value. In response to the client request, the server extracts transform data defined by the request. The transform data is quantized, in accordance with the quantization value, and is compressed to generate compressed data. The server transfers the compressed data to the client. The client decompresses the compressed data to obtain quantized data, and dequantizes the quantized data to recover the transform data. The client then reconstructs the original source data from the transform data. For the imaging application, the client reconstructs an image from the transform data for display at the client.
The server only transmits to the client the data required to reconstruct the source image at the client. In one embodiment, the client caches previously requested coefficients with the quantization values for subsequent use. Under this scenario, the client issues a new request for a coefficient block to obtain incremental data necessary to fulfill the request. The new request includes two quantization values. The first quantization value is from the previously request coefficients cached at the client, and the second quantization value is for the new request for the coefficient block. The new request is transferred to the server. In response to the request, the server extracts transform data defined by the coefficient block. The server generates a first quantized coefficient block from the transform data using the first quantization value, and generates a second quantized coefficient block from the second quantization value. The server then generates a first and a second de-quantized coefficient blocks by multiplying the first and second quantized coefficient blocks by the first and second quantization values, respectively. Thereafter, an incremental coefficient block is generated by subtracting the first de-quantized coefficient block from the second de-quantized coefficient block. The incremental coefficient block is compressed to generate a compressed incremental coefficient block, and the compressed incremental coefficient block is transferred from the server to the client. At the client, the compressed incremental coefficient block is decompressed to recover the incremental coefficient block. The original coefficient block requested by the client is obtained by adding the cached coefficient block to the incremental coefficient block. The client reconstructs the source data from the coefficient block.